Wireless devices, such as laptop computers, personal digital assistants (PDAs), cellular phones, etc., bring new resources to distributed computing. In addition to typical computational resources such as CPU, disk space, and applications, wireless devices increasingly employ cameras, microphones, GPS receivers, and other types of sensors. A wireless device by definition has at least one wireless communication interface (e.g., cell, radio frequency, Wi-Fi, or Bluetooth™). Users increasingly take wireless devices with them to new places, in both their personal and professional lives. The ability of wireless devices to form ad-hoc grids allows using the available resources in a collaborative manner, by aggregating information from the range of input/output interfaces found in wireless devices, by leveraging the locations and contexts in which wireless devices are located, and finally, by leveraging the mesh network capabilities of wireless devices. Wireless grids allow coordinated collaboration of heterogeneous inherently unreliable devices, across unreliable network connections. The inherent unreliability of wireless devices is primarily caused by the fact that those devices are, due to their mobile nature, battery-powered. Thus, reducing the power consumption and mitigating the inherent unreliability are two goals of a paramount importance. Thus, there is a need in distributed systems and applications which can assist in achieving both goals by off-loading processing and data management to non-mobile devices, or to wireless devices which can be reachable with less transmitter power.